package com.wiscamp.ninechapters.problems.domain.repositories;

import com.wiscamp.ninechapters.problems.domain.models.types.QuestionType;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;

import java.util.Collection;

public interface QuestionTypeRepository {
    QuestionType getQuestionType(long typeId);

    QuestionType getQuestionTypeByCode(@NotBlank String typeCode);

    Collection<QuestionType> getQuestionTypesByName(@NotBlank String typeName);

    Collection<QuestionType> getAvailableQuestionTypes();

    Collection<QuestionType> getQuestionTypesByIds(@NotEmpty Collection<Long> questionIds);

    QuestionType saveQuestionType(@NotNull QuestionType questionType);


}
